<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Monkey PHP Framework</title>
<link type="text/css" href="statics/css/base.css" rel="stylesheet" />
<link type="text/css" href="statics/css/prettify.css" rel="stylesheet" />
<script type="text/javascript" src="statics/js/jquery.min.js"></script>
<script type="text/javascript" src="statics/js/monkey.js"></script>
<script type="text/javascript" src="statics/js/prettify.js"></script>
<script type="text/javascript" src="statics/js/html5.js"></script>
</head>

<body>
<!--page_wrap:start-->
<div class="page_wrap">

<p>
<h2>2.11  数据驱动接口\Monkey\Database\Driver\_Interface</h2>
<br />
<b>公开方法：</b><br />
<table class="table table_bordered table_striped">
    <thead>
        <tr>
            <th>方法名</th>
            <th>参数</th>
            <th>说明</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <th>__construct</th>
            <td>array $config 数据库连接配置<br />
                bool $isTest=false 是否为测试而构造驱动对象。
            </td>
            <td>构造方法</td>
        </tr>
        <tr>
            <th>connect</th>
            <td>array $config 数据库连接配置<br />
            bool $isTest=false 是否为测试模式。为TRUE时返回测试通知（格式见通用通知格式），为FALSE时连接失败将抛出异常，连接成功将把获得的资源作为驱动的连接资源并返回TRUE。
            </td>
            <td>连接数据库。根据$isTest参数返回不同值，$isTest=TRUE返回通知，$isTest=false返回TRUE或抛出异常。</td>
        </tr>
        <tr>
            <th>getPreFix</th>
            <td>无</td>
            <td>获取连接的表前缀。返回string。</td>
        </tr>
        <tr>
            <th>escape</th>
            <td>string|array $data 待转义的数据</td>
            <td>对sql参数中的特殊字符进行转义。返回$data，其变量类型保持不变。</td>
        </tr>
        <tr>
            <th>transaction</th>
            <td>string|int $type 事务操作名 'begin'|0：开始事务、 'commit'|1：提交事务、 'rollback'|-1：回滚事务</td>
            <td>事务操作。返回当前驱动对象。</td>
        </tr>
        <tr>
            <th>query</th>
            <td>string $sql 查询语句，如语句中有表名前缀的，可以让程序帮你添加前缀，方法是表名tableName的前后加上“{:”和“:}”，例如，配置中的前缀是“test_”，"{:myTable:}"将变为"test_myTable"</td>
            <td>查询方法。返回当前驱动对象。</td>
        </tr>
        <tr>
            <th>isSuccess</th>
            <td>无</td>
            <td>查询方法判断查询是否成功。返回boolean。</td>
        </tr>
        <tr>
            <th>resultAll</th>
            <td>string $model=FETCH_ASSOC 读取模式 'assoc'|'num'|'both'（有对应常量） 默认为'assoc'</td>
            <td>读取所有记录为数组。返回二维array，一条数据也是二维array。</td>
        </tr>
        <tr>
            <th>result</th>
            <td>string $model=FETCH_ASSOC 读取模式 'assoc'|'num'|'both'（有对应常量） 默认为'assoc'</td>
            <td>读取一条记录为数组。返回array。</td>
        </tr>
        <tr>
            <th>resultCount</th>
            <td>无</td>
            <td>获取记录集中的行数。返回integer。</td>
        </tr>
        <tr>
            <th>affectedRows</th>
            <td>无</td>
            <td>获取受影响的行数。返回integer</td>
        </tr>
        <tr>
            <th>insertId</th>
            <td>无</td>
            <td>获取最后插入行的id。返回integer</td>
        </tr>
        <tr>
            <th>errorCode</th>
            <td>无</td>
            <td>获取错误代号。返回integer</td>
        </tr>
        <tr>
            <th>errorMessage</th>
            <td>无</td>
            <td>获取错误信息。返回string</td>
        </tr>
        <tr>
            <th>lastSql</th>
            <td>无</td>
            <td>获取查询的真实sql语句。返回string</td>
        </tr>
        <tr>
            <th>clear</th>
            <td>无</td>
            <td>清理查询痕迹。返回当前驱动对象</td>
        </tr>
        <tr>
            <th>destroy</th>
            <td>无</td>
            <td>销毁连接和驱动当前对象。返回当前驱动对象</td>
        </tr>

    </tbody>
</table>
<b>注意：单独使用驱动不会给程序带来任何便利，反而增加负担，不如直接用php原生的Mysqli、PDO等驱动，所以这里不单独举例了。</b>
</p>
</div>
<!--page_wrap:end-->
</body>
</html>